package cliente.pagina.contenido.foro;

import cliente.pagina.contenido.*;
import comun.constantes.*;
import helpers.foro.*;
import cliente.pagina.*;
/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */

public class ContenidoOpinionForo extends VistaContenido {

  private Long idForo;
  private String asuntoForo;
  private int indiceMenor=0;
  private int indiceMayor=CONSTANTES_ENTERAS.CANTIDAD_DE_OPINIONES_FORO_A_MOSTRAR;
  public ContenidoOpinionForo() {
  }

  public ContenidoOpinionForo(Pagina pagina) {
    this.setPagina(pagina);
  }

  public void setPagina(Pagina pagina)
  {
    super.setPagina(pagina);

    //System.out.println("pagina.getParameter(PARAMETROS_PAGINAS.ID_FORO):"+pagina.getParameter(PARAMETROS_PAGINAS.ID_FORO));
    if (pagina.getParameter(PARAMETROS_PAGINAS.ID_FORO)!=null)
    {
      this.idForo = new Long(pagina.getParameter(PARAMETROS_PAGINAS.ID_FORO));
    }

    if (pagina.getParameter(PARAMETROS_PAGINAS.ASUNTO_FORO)!=null)
    {
      this.setAsuntoForo(pagina.getParameter(PARAMETROS_PAGINAS.ASUNTO_FORO));
    }

    if (pagina.getParameter(PARAMETROS_PAGINAS.INDICE_MENOR)!=null)
      this.indiceMenor = (new Integer(pagina.getParameter(PARAMETROS_PAGINAS.INDICE_MENOR))).intValue();

    if (pagina.getParameter(PARAMETROS_PAGINAS.INDICE_MAYOR)!=null)
      this.indiceMayor = (new Integer(pagina.getParameter(PARAMETROS_PAGINAS.INDICE_MAYOR))).intValue();

    //System.out.println("indice menor: "+indiceMenor);
    //System.out.println("indice mayor: "+indiceMayor);
    //System.out.println("id Foro: "+this.idForo);

/*
  if (pagina.getParameter(PARAMETROS_PAGINAS.RESULTADO_OPERACION)!=null)
       this.resultadoOperacion = pagina.getParameter(PARAMETROS_PAGINAS.RESULTADO_OPERACION);
*/

  }


  public String getHTMLVista()
  {
  {
    HelperForo helperForo=null;
    try {
          helperForo = new HelperForo(this.getPagina());

          String html = "       <h1>"+helperForo.getAsuntoForo(this.getIdForo())+"</h1>\n";
/*          // agregar el html del resultado de la operacion
          // de acuerdo al resultado de laoperacion debo poner un mensaje,
          // si es null quiere decir que la pagina no fue llamada automaticamente desde la pagina que actualiza los datos
          if (this.resultadoOperacion!=null && this.resultadoOperacion.compareTo(TEXTOS.ACTUALIZACION_DE_DATOS_EXITOSA)==0)
              html +=  "       <p class=\"mensajeOk\"><img src=\""+this.getPagina().getPathBotonOk()
              +"\" title=\"_blank\" width=\"12\" height=\"10\"> El  foro con el t&iacute;tulo &quot;"+helperForo.getAsuntoForo(this.idForo)+"&quot; ha sido actualizado correctamente. </p>\n";

      System.out.println("this.resultadoOpercacion: "+this.resultadoOperacion);

          if (this.resultadoOperacion!=null && this.resultadoOperacion.compareTo(comun.MensajeDeError.ERROR_EN_LA_ACTUALIZACION_DE_DATOS)==0)
            html += "        <p class=\"mensajeError\"><img src=\""+this.getPagina().getPathBotonError()
            +"\" title=\"_blank\" width=\"12\" height=\"10\"><strong>&iexcl;Error!</strong> No se ha podido actualizar el "
            +" foro con el t&iacute;tulo &quot;"+helperForo.getAsuntoForo(this.idForo)+"&quot; </p>\n";

          // si la accion fue eliminar se debe cambiar el mensaje de OK
          if (this.resultadoOperacion!=null && this.resultadoOperacion.compareTo(TEXTOS.ELIMINACION_DE_DATOS_EXITOSA)==0)
              html +=  "       <p class=\"mensajeOk\"><img src=\""+this.getPagina().getPathBotonOk()
              +"\" title=\"_blank\" width=\"12\" height=\"10\"> Los foros "
              +" han sido eliminados correctamente. </p>\n";

          // si la accion fue eliminar se debe cambiar el mensaje de ERROR
          if (this.resultadoOperacion!=null && this.resultadoOperacion.compareTo(comun.MensajeDeError.ERROR_EN_LA_ELIMINACION_DE_DATOS)==0)
              html +=  "       <p class=\"mensajeError\"><img src=\""+this.getPagina().getPathBotonError()
              +"\" title=\"_blank\" width=\"12\" height=\"10\"> Los foros "
              +" NO han sido eliminados correctamente. </p>\n";

*/
          html += helperForo.generarHTMLMensajesForo(this.idForo,indiceMenor,indiceMayor);

/*          html += "   <p>Bienvenido a los foros "+this.getPagina().getPosFijoNombrePagina()
                +"    <!-- Aca se inserta el nombre de la carrera -->\n"
                +"    <strong>"+helperForo.getNombreAula()+"</strong>."
                +" Haga clic sobre un asunto para ver y escribir mensajes.</p>\n"
                +"   <!-- De la siguiente tablas las columnas \"estado\" y \"borrar\" se muestran solo si el usuario tiene los permisos -->\n";
*/
          helperForo.commit();
          return html;
    }
    catch (Exception ex) {
      ex.printStackTrace();
      helperForo.rollback();
      return  comun.MensajeDeError.ERROR_EN_LA_GENERACION_DE_LA_PAGINA;
    }
  }


  }

  /**
   * Retrona el titulo de la Pagina
   * @return
   */
  public String getTitulo()
  {
    ContenidoForo contenidoForo = new ContenidoForo(this.getPagina());

//    return  " <a href=\""+contenidoForo.getPathNombrePagina()+"\">"+TITULOS_PAGINAS.FOROS+this.getPagina().getPosFijoNombrePagina()+"</a> &gt; "+this.getAsuntoForo();
    return  TITULOS_PAGINAS.FOROS+this.getPagina().getPosFijoNombrePagina()+" &gt; "+this.getAsuntoForo();
  }

  // redefino el metodo abstracto de Vista contenido
  protected String getNombrePagina()
  {
    return "foro_opinion.jsp";
  }

  // redefino el metodo abstracto de Vista contenido
  public String getTituloLink()
  {
    return "\"Foro\">Foro";
  }

  // redefino el metodo abstracto de Vista contenido
  public String getNombreRecurso()
  {
    return RECURSOS.FORO_OPINION;
  }
  public void setIdForo(Long idForo) {
    this.idForo = idForo;
  }
  public Long getIdForo() {
    return idForo;
  }
  public void setAsuntoForo(String asuntoForo) {
    this.asuntoForo = asuntoForo;
  }
  public String getAsuntoForo() {
    return asuntoForo;
  }
  public void setIndiceMenor(int indiceMenor) {
    this.indiceMenor = indiceMenor;
  }
  public int getIndiceMenor() {
    return indiceMenor;
  }
  public void setIndiceMayor(int indiceMayor) {
    this.indiceMayor = indiceMayor;
  }
  public int getIndiceMayor() {
    return indiceMayor;
  }
  public String getTeclaAccesoRapido() {	
		return "";
	}
  // redefinida para dar la subcarpeta donde se colocarta el archivo
  public String getSubcarpetaRecurso()
  {
    return CARPETAS_ARCHIVOS_RECURSO.FORO+"/"+PARAMETROS_PAGINAS.ID_FORO+this.idForo;
  }


}